package org.wu.acw.server.domain.model.database.instance.back.ups;

import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage;
import org.wu.framework.web.response.Result;
import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository;

import java.util.List;

/**
 * describe 数据库备份信息 
 *
 * @author Jia wei Wu
 * @date 2023/07/09 11:24 上午
 * @see DefaultDDDLazyDomainRepository
 **/

public interface AcwInstanceBackUpsRepository {


    /**
     * describe 新增数据库备份信息
     *
     * @param
     * @return
     * @exception/throws
     * @author Jia wei Wu
     * @date 2023/07/09 11:24 上午
     **/

    Result<DatabaseInstanceBackUps> story(DatabaseInstanceBackUps databaseInstanceBackUps);

    /**
     * describe 批量新增数据库备份信息
     *
     * @param
     * @return
     * @exception/throws
     * @author Jia wei Wu
     * @date 2023/07/09 11:24 上午
     **/

    Result<DatabaseInstanceBackUps> batchStory(List<DatabaseInstanceBackUps> databaseInstanceBackUpsList);

    /**
     * describe 查询单个数据库备份信息
     *
     * @param
     * @return
     * @exception/throws
     * @author Jia wei Wu
     * @date 2023/07/09 11:24 上午
     **/

    Result<DatabaseInstanceBackUps> findOne(DatabaseInstanceBackUps databaseInstanceBackUps);

    /**
     * describe 查询多个数据库备份信息
     *
     * @param
     * @return
     * @exception/throws
     * @author Jia wei Wu
     * @date 2023/07/09 11:24 上午
     **/

    Result<List<DatabaseInstanceBackUps>> findList(DatabaseInstanceBackUps databaseInstanceBackUps);

    /**
     * describe 分页查询多个数据库备份信息
     *
     * @param
     * @return
     * @exception/throws
     * @author Jia wei Wu
     * @date 2023/07/09 11:24 上午
     **/

    Result<LazyPage<DatabaseInstanceBackUps>> findPage(int size,int current,DatabaseInstanceBackUps databaseInstanceBackUps);

    /**
     * describe 删除数据库备份信息
     *
     * @param
     * @return
     * @exception/throws
     * @author Jia wei Wu
     * @date 2023/07/09 11:24 上午
     **/

    Result<DatabaseInstanceBackUps> remove(DatabaseInstanceBackUps databaseInstanceBackUps);

}